ListNode* insertGreatestCommonDivisors(ListNode* head) {
        ListNode *node = head;
        while(node->next)
        {
            node->next = new ListNode(gcd(node->val, node->next->val), node->next);
            node = node->next->next;
        }
        return head;
    }